package com.up.management.mapper;

import com.up.management.domain.entity.EventApplication;
import com.up.management.domain.vo.EventApplicationVO;

import java.util.List;

/**
 * 申请管理Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-11
 */
public interface EventApplicationMapper 
{
    /**
     * 查询申请管理
     * 
     * @param id 申请管理主键
     * @return 申请管理
     */
    public EventApplication selectEventApplicationById(Long id);

    /**
     * 查询申请管理列表
     * 
     * @param eventApplication 申请管理
     * @return 申请管理集合
     */
    public List<EventApplication> selectEventApplicationList(EventApplication eventApplication);

    /** 返回包含展示字段的 VO 列表（用于前端列表） */
    public List<EventApplicationVO> selectEventApplicationVOList(EventApplication eventApplication);

    /**
     * 新增申请管理
     * 
     * @param eventApplication 申请管理
     * @return 结果
     */
    public int insertEventApplication(EventApplication eventApplication);

    /**
     * 修改申请管理
     * 
     * @param eventApplication 申请管理
     * @return 结果
     */
    public int updateEventApplication(EventApplication eventApplication);
    
    /**
     * 审核申请管理（仅更新申请状态与审核备注）
     *
     * @param eventApplication 申请管理
     * @return 结果
     */
    public int auditEventApplication(EventApplication eventApplication);

    /**
     * 删除申请管理
     * 
     * @param id 申请管理主键
     * @return 结果
     */
    public int deleteEventApplicationById(Long id);

    /**
     * 批量删除申请管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEventApplicationByIds(Long[] ids);
}
